#ifndef ARM_H
#define ARM_H

#include <QtCore>
#include "panel3d.h"

class Arm : public Object3D
{

public:
    Arm(QObject *parent);
    ~Arm();
    void setJoint1Orient(const QMatrix4x4 &);
    void setJoint1Orient(const QQuaternion &);
    void setJoint2Orient(const QMatrix4x4 &);
    void setJoint2Orient(const QQuaternion &);
    void setShoulderOrient(const QMatrix4x4 &);
    void setShoulderOrient(const QQuaternion &);
    void setForearmOrient(const QMatrix4x4 &);
    void setForearmOrient(const QQuaternion &);
    void setOrient(const QQuaternion &q1, const QQuaternion &q2);
    void setOrient(const QVector<float> &);
    void setOrient(int ind, QQuaternion quat);
    void setOrient(int ind, float ang1, float ang2);


    void setCallibrate(int &);
    void setRotByButton();

private:
    Mesh3D *body, *joint1, *joint2, *shoulder, *forearm;
    QQuaternion calcQ1,calcQ2, calcQA, calcQB, calcQ;

};

#endif // ARM_H
